package com.dance.sharevalidator.entity;

import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.*;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 组织机构类
 */
@Data
public class Dept {

    /**
     * Id
     * 使用 @Null 校验必须是null
     */
    @Null(message = "主键ID只能为Null")
    private Integer id;
    /**
     * 父ID
     * 使用 @NotNull 校验非null
     * 使用 @Min 校验必须大于等于0
     */
    @NotNull
    @Min(value = 0)
    private Integer parentId;
    /**
     * 名称
     * 使用 @NotBlank 校验非空(null/空串)
     */
    @NotBlank
    private String name;
    /**
     * 成立时间
     * 使用 @NotNull 校验非null
     * 使用 @PastOrPresent 校验日期必须是当前时间或者之前, 不能是未来时间
     */
    @NotNull
    @PastOrPresent
    private LocalDateTime createTime;

    /**
     * 一个部门多个人员
     */
    private List<@Valid Emp> empList;

}
